package com.irdstudio.efp.nls.service.facade.ed;

import com.irdstudio.basic.framework.core.exception.BizException;
import com.irdstudio.efp.nls.service.vo.NlsApplyInfoVO;

import java.math.BigDecimal;

/**
 * 需求编号:【额度管控阶段修改功能】
 * 开发人员：chenxuan
 * 创建日期：2019/8/12 10:41
 * 功能描述：
 *
 * @version 0.1
 */
public interface LimitControlsService {
    /**
     * 需求编号：【额度管控】
     * 问题编号：【查询在贷金额（包含本次申请金额）】
     * 开发人员：【chenxuan】
     * 创建/修改日期：【2019/8/19】
     * 修改描述：
     * @Param [nlsApplyInfoVO]
     * @return java.math.BigDecimal
     **/
    public BigDecimal getAvailAmt(NlsApplyInfoVO nlsApplyInfoVO) throws BizException;
    /**
     * 需求编号：【额度管控】
     * 开发人员：【chenxuan】
     * 创建/修改日期：【2019/8/12】
     * 修改描述：网贷已占用额度
     * @Param [certCode, cerType]
     * @return java.math.BigDecimal
     **/
    public BigDecimal getPreOccAmt(String certCode, String cerType) throws BizException;

    public BigDecimal getPreOccAmt2(String certCode, String cerType,BigDecimal applyAmt) throws BizException;

    /**
     * 需求编号：【额度管控】
     * 问题编号：【在途金额判断】
     * 开发人员：【chenxuan】
     * 创建/修改日期：【2019/8/12】
     * 修改描述：
     * @Param [certCode, cerType]
     * @return java.math.BigDecimal
     **/
    public boolean isDuring(NlsApplyInfoVO nlsApplyInfoVO) throws BizException;


    /**
     * 需求编号：【额度管控】
     * 问题编号：【查询产品代码】
     * 开发人员：【chenxuan】
     * 创建/修改日期：【2019/8/14】
     * 修改描述：根据产品状态，贷款分类，担保方式查询产品代码
     *
     * @return java.math.BigDecimal
     * @Param [certCode, cerType, prdId]
     **/
    public String queryPrdIdByLoanCate(String prdStatus, String loanCate,String guarWay) throws BizException ;

    public boolean isCreditDuring(String certType,String certCode,String applySeq) throws BizException;
}
